package br.com.equus.service;

import java.util.List;

import br.com.equus.dto.PesquisarAnimalDTO;
import br.com.equus.entidade.Animal;
import br.com.equus.entidade.ControleMatriz;
import br.com.equus.entidade.ControleReceptora;
import br.com.equus.entidade.Proprietario;

public interface AnimalService {

	Long countAnimal(PesquisarAnimalDTO dto) throws Exception;

	List<Animal> paginateAnimal(int first, int pageSize, PesquisarAnimalDTO dto) throws Exception;

	void salvarReproducaoF(ControleReceptora controleReceptora, Animal animal) throws Exception;

	void salvarMatriz(ControleMatriz controleMatriz, Animal animal) throws Exception;

	void deleteMatriz(ControleMatriz model, Animal animalAtualizar) throws Exception;

	void saveMatrizEfetivada(ControleMatriz animalEfetivado, Animal animal) throws Exception;

	List<Proprietario> carregaProprietario(String query) throws Exception;
}
